函數是預先建構好的可重復使用的,用來實現單一或相關聯功能的程式碼,能提高應用的模塊性,和程式碼的重複利用率。Python 本身提供了許多內建函數,比如 print(),但也可以自己創建函數,這被叫做用戶自定義函數。
def add(a, b):
ans = a + b
return ans
print(add(3, 4))
7
函式以 def 關鍵字定義,並以 return 將結果輸出。
一個函式只應該做好一件事情,太複雜拆開減少耦合,引數原則至多讓使用者輸入 2 個。
*args 這個數值可透過使用者自定義輸入,透過 * 收集的引數會被放到一個叫 args 的元組 (tuple)中,所以我們可以使用 for 迴圈來對它進行迭代。
使用 *args 的好處是我們當今天不確定預先輸入至函式的變數有多少時,我們可以透過這個方法來避免輸入至函式的變數比預先設定的多,導至報錯。
def add(*args):
ans = 0
print(args)
for i in args:
ans += i
return ans
print(add(3, 4, 5, 6, 7, 8, 9, 10))
(3, 4, 5, 6, 7, 8, 9, 10)
52
**kwargs 會自己把它拆開將有指定的參數變成 dict 格式。
def test(**kwargs):
print(kwargs)
test(name="a", age="20")
{'name': 'a', 'age': '20'}
概括的說一個 * 號類似於將資料蒐集存成 turple ,兩個 * 號則是蒐集完並且存成 dict。